package kr.co.dayve.site.management.service;

import kr.co.dayve.site.domain.*;

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.util.List;
import java.util.Properties;


public interface DayveService {
    //Member Service
    public abstract List getMemberListBySearchword(Member member);
    public abstract String getTotalMemberCountBySearchword(Member member);
    public abstract String getName(String searchWord);
    public abstract Member getMemberById(String id);
    public abstract Member getMemberByEmail(String id);
    public abstract Member getMemberByIdEmail(Member member);
    public abstract String getMemberExistById(String id);
    public abstract String getMemberExistByEmail(String email);
    public abstract String getMemberExistByIdEmail(Member member);
    public abstract String insertMember(Member member);
    public abstract String deleteMemberById(String userId);
    public abstract String updateMemberById(Member member);
    public abstract String adminUpdateMemberById(Member member);
    public abstract String updateMemberPasswordById(Member member);
    public abstract String logIn(String id, String password);


    //Demo Board Service
    public abstract List getBoardListBySearchword(Board board);
    public abstract String getTotalCountBySearchword(Board board);

    //Simple mail service
    public abstract String sendMail(String subject, String content, String fromUser, String toUser, String userId);

    //Image mail service
    public abstract String sendImageMail(String subject, String content, String fromUser, String toUser, String userId, File file);

    //Contact us write
    public abstract String writeContact(Contact contact);
    public abstract List getContactList(Contact contact);
    public abstract String getTotalContact(Contact contact);
    public abstract String updateContact(Contact contact);

    //Country Service
    public abstract List getCountryList();
    public abstract String getTotalCountCountry();
    public abstract Country getCountryByCode(String country_code);
    public abstract Contact getContactByNo(String contact_no);

    //MemberList By Category & Item Name
    public abstract List getCategoryMemberListByCategoryName(Category category);
    public abstract List getItemMemberListByItemName(Item item);


}
